#ifndef GAMESTATE_H
#define GAMESTATE_H

#include "GameStateManager.h"

class GameState
{
protected:
	GameState(){};	//Protected constructor, for singleton classes
	sf::RenderWindow* window;
public:
	virtual void init(sf::RenderWindow* w){window = w;};
    //virtual void init(GameStateManager *manager){m_stateManager = manager; };
	virtual void cleanup() = 0;

	virtual void pause() = 0;
	virtual void resume() = 0;

	virtual void update() = 0;
    virtual void draw() = 0;
};

#endif